package cn.tedu.charging.cost.feign;
import cn.tedu.charging.common.JsonResult;
import cn.tedu.charging.common.pojo.param.GunStatusUpdateParam;
import cn.tedu.charging.common.pojo.vo.GunInfoVO;
import cn.tedu.charging.common.pojo.vo.StationInfoVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @Author: Miyako
 * @Date: 2024-10-15-11:40
 * @Description:
 */
@FeignClient("deviceService")
public interface DeviceClient {

    @GetMapping("/device/station/info/{gunId}")
    JsonResult<StationInfoVO> getStationInfo(@PathVariable("gunId") Integer gunId);

    @PostMapping("/device/station/gun/status/update")
     JsonResult<Boolean> updateGunStatus(@RequestBody GunStatusUpdateParam param);

    @GetMapping("/device/station/gun/info/{gunId}")
    JsonResult<GunInfoVO> getGunInfo(@PathVariable("gunId") Integer gunId);
}
